Intelligent network access mode configuration based on usage conditions

ABSTRACT

A first wireless operating mode of a plurality of wireless operating modes may be selected. The plurality of wireless operating modes may be related to a plurality of antenna configurations and a plurality of wireless radio frequencies. In some implementations, the selecting of the first wireless operating mode may be based on the identified power mode of the first digital device. The first wireless operating mode may be associated with a first antenna configuration of the plurality of antenna configurations. The first wireless operating mode may be associated with a first wireless radio frequency of the plurality of wireless radio frequencies for the data to be accessed by the first digital device over the wireless access device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/723,114, filed Oct. 2, 2017, which claims priority to U.S.Provisional Patent Application No. 62/402,894, filed Sep. 30, 2016, bothof which are incorporated by reference herein.

BACKGROUND

Entities may find it important to provide users with access to computernetworks. Due to cost, convenience, and other factors, many computernetworks are implemented as wireless computer networks without cablesconnecting end user digital devices to routers, bridges, or switches.Many wireless computer networks incorporate the functionalities ofrouters, bridges, switches, etc. into wireless access devices thatcommunicate with end user digital devices using antennas, other wirelessnetwork hardware, and/or other wireless network software. As wirelessnetwork hardware and/or software has evolved, so too have wirelesscomputer networking standards. End user devices may be configured onlyfor one type of network access (e.g., a wireless network access modethat supports a single antenna or legacy hardware). Though it may bedesirable to facilitate intelligent network access mode configuration(e.g., of wireless network access points) based on usage conditions ofend-user devices, many systems and methods have not successfullyimplemented these types of configurations.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram showing an example of an intelligent network accessmode configuration system.

FIG. 2 is a diagram showing an example of a wireless mode managementengine.

FIG. 3 is a flowchart of an example of a method for intelligentlyconfiguring an access point to select a wireless operating mode of aplurality of wireless operating modes.

FIG. 4 is a diagram showing an example of a wireless network accessengine.

FIG. 5 is a flowchart of an example of a method for instructing networkaccess circuitry on a digital device to access data.

FIG. 6 is a diagram showing an example of a digital device.

FIG. 7 shows examples of a plurality of network access devices.

DETAILED DESCRIPTION

FIG. 1 is a diagram 100 showing an example of an intelligent networkaccess mode configuration system. In the example of FIG. 1, the diagram100 includes a computer-readable medium 102, one or more digitaldevice(s) 104 (shown in FIG. 1 as a first digital device 104(1) throughan Nth digital device 104(N)), a wireless access device 106, and awireless access device controller 108. In the example of FIG. 1, thedigital device(s) 104, the wireless access device controller 108, andthe wireless access device 106 are coupled to each other through thecomputer-readable medium 102. As used in this paper, a“computer-readable medium” is intended to include all mediums that arestatutory (e.g., in the United States, under 35 U.S.C. 101), and tospecifically exclude all mediums that are non-statutory in nature to theextent that the exclusion is necessary for a claim that includes thecomputer-readable medium to be valid. Known statutory computer-readablemediums include hardware (e.g., registers, random access memory (RAM),non-volatile (NV) storage, to name a few), but may or may not be limitedto hardware.

The computer-readable medium 102 is intended to represent any one ormore of a variety of potentially applicable technologies. For example,the computer-readable medium 102 can be used to form a network or partof a network. Where two components are co-located on a device, thecomputer-readable medium 102 can include a bus or other data conduit orplane. Where a first component is co-located on one device and a secondcomponent is located on a different device, the computer-readable medium102 can include a wireless or wired back-end network or LAN. Thecomputer-readable medium 102 can also encompass a relevant portion of aWAN or other network, if applicable.

The computer-readable medium 102, the digital device(s) 104, thewireless access device controller 108, the wireless access device 106,and/or other applicable systems or devices described in this paper canbe implemented as a computer system, a plurality of computer systems, orparts of a computer system or a plurality of computer systems. Ingeneral, a computer system will include a processor, memory,non-volatile storage, and an interface. A typical computer system willusually include at least a processor, memory, and a device (e.g., a bus)coupling the memory to the processor. The processor can be, for example,a general-purpose central processing unit (CPU), such as amicroprocessor, or a special-purpose processor, such as amicrocontroller.

The memory can include, by way of example but not limitation, randomaccess memory (RAM), such as dynamic RAM (DRAM) and static RAM (SRAM).The memory can be local, remote, or distributed. The bus can also couplethe processor to non-volatile storage. The non-volatile storage is oftena magnetic floppy or hard disk, a magnetic-optical disk, an opticaldisk, a read-only memory (ROM), such as a CD-ROM, EPROM, or EEPROM, amagnetic or optical card, or another form of storage for large amountsof data. Some of this data is often written, by a direct memory accessprocess, into memory during execution of software on the computersystem. The non-volatile storage can be local, remote, or distributed.The non-volatile storage is optional because systems can be created withall applicable data available in memory.

Software is typically stored in the non-volatile storage. Indeed, forlarge programs, it may not even be possible to store the entire programin the memory. Nevertheless, it should be understood that for softwareto run, if necessary, it is moved to a computer-readable locationappropriate for processing, and for illustrative purposes, that locationis referred to as the memory in this paper. Even when software is movedto the memory for execution, the processor will typically make use ofhardware registers to store values associated with the software, andlocal cache that, ideally, serves to speed up execution. As used herein,a software program is assumed to be stored at an applicable known orconvenient location (from non-volatile storage to hardware registers)when the software program is referred to as “implemented in acomputer-readable storage medium.” A processor is considered to be“configured to execute a program” when at least one value associatedwith the program is stored in a register readable by the processor.

In one example of operation, a computer system can be controlled byoperating system software, which is a software program that includes afile management system, such as a disk operating system. One example ofoperating system software with associated file management systemsoftware is the family of operating systems known as Windows® fromMicrosoft Corporation of Redmond, Wash., and their associated filemanagement systems. Another example of operating system software withits associated file management system software is the Linux operatingsystem and its associated file management system. The file managementsystem is typically stored in the non-volatile storage and causes theprocessor to execute the various acts required by the operating systemto input and output data and to store data in the memory, includingstoring files on the non-volatile storage.

The bus can also couple the processor to the interface. The interfacecan include one or more input and/or output (I/O) devices. The I/Odevices can include, by way of example but not limitation, a keyboard, amouse or other pointing device, disk drives, printers, a scanner, andother I/O devices, including a display device. The display device caninclude, by way of example but not limitation, a cathode ray tube (CRT),liquid crystal display (LCD), or some other applicable known orconvenient display device. The interface can include one or more of amodem or network interface. It will be appreciated that a modem ornetwork interface can be considered to be part of the computer system.The interface can include an analog modem, ISDN modem, cable modem,token ring interface, Ethernet interface, satellite transmissioninterface (e.g. “direct PC”), or other interfaces for coupling acomputer system to other computer systems. Interfaces enable computersystems and other devices to be coupled together in a network.

The computer systems can be compatible with or implemented as part of orthrough a cloud-based computing system. As used in this paper, acloud-based computing system is a system that provides virtualizedcomputing resources, software and/or information to client devices. Thecomputing resources, software and/or information can be virtualized bymaintaining centralized services and resources that the edge devices canaccess over a communication interface, such as a network. “Cloud” may bea marketing term and for the purposes of this paper can include any ofthe networks described herein. The cloud-based computing system caninvolve a subscription for services or use a utility pricing model.Users can access the protocols of the cloud-based computing systemthrough a web browser or other container application located on theirclient device.

A computer system can be implemented as an engine, as part of an engine,or through multiple engines. As used in this paper, an engine includesone or more processors or a portion thereof. A portion of one or moreprocessors can include some portion of hardware less than all of thehardware comprising any given one or more processors, such as a subsetof registers, the portion of the processor dedicated to one or morethreads of a multi-threaded processor, a time slice during which theprocessor is wholly or partially dedicated to carrying out part of theengine's functionality, or the like. As such, a first engine and asecond engine can have one or more dedicated processors, or a firstengine and a second engine can share one or more processors with oneanother or other engines. Depending upon implementation-specific orother considerations, an engine can be centralized or its functionalitydistributed. An engine can include hardware, firmware, or softwareembodied in a computer-readable medium for execution by the processor.The processor transforms data into new data using implemented datastructures and methods, such as is described with reference to the FIGS.in this paper.

The engines described in this paper, or the engines through which thesystems and devices described in this paper can be implemented, can becloud-based engines. As used in this paper, a cloud-based engine is anengine that can run applications and/or functionalities using acloud-based computing system. All or portions of the applications and/orfunctionalities can be distributed across multiple computing devices,and need not be restricted to only one computing device. In someembodiments, the cloud-based engines can execute functionalities and/ormodules that end users access through a web browser or containerapplication without having the functionalities and/or modules installedlocally on the end-users' computing devices.

As used in this paper, datastores are intended to include repositorieshaving any applicable organization of data, including tables,comma-separated values (CSV) files, traditional databases (e.g., SQL),or other applicable known or convenient organizational formats.Datastores can be implemented, for example, as software embodied in aphysical computer-readable medium on a general- or specific-purposemachine, in firmware, in hardware, in a combination thereof, or in anapplicable known or convenient device or system. Datastore-associatedcomponents, such as database interfaces, can be considered “part of” adatastore, part of some other system component, or a combinationthereof, though the physical location and other characteristics ofdatastore-associated components is not critical for an understanding ofthe techniques described in this paper.

Datastores can include data structures. As used in this paper, a datastructure is associated with a particular way of storing and organizingdata in a computer so that it can be used efficiently within a givencontext. Data structures are generally based on the ability of acomputer to fetch and store data at any place in its memory, specifiedby an address, a bit string that can be itself stored in memory andmanipulated by the program. Thus, some data structures are based oncomputing the addresses of data items with arithmetic operations; whileother data structures are based on storing addresses of data itemswithin the structure itself. Many data structures use both principles,sometimes combined in non-trivial ways. The implementation of a datastructure usually entails writing a set of procedures that create andmanipulate instances of that structure. The datastores, described inthis paper, can be cloud-based datastores. A cloud-based datastore is adatastore that is compatible with cloud-based computing systems andengines.

In some implementations, the computer-readable medium 102 supports oneor more Wi-Fi connections between the digital device(s) 104 and thewireless access device 106. The computer-readable medium 102 may supportIEEE 802.11 protocols, including but not limited to IEEE 802.11a/b/g/n/ac protocols, etc. The computer-readable medium 102 may supportIEEE 802.3 protocols. IEEE 802.3 is a working group and a collection ofIEEE standards produced by the working group defining the physical layerand data link layer's MAC of wired Ethernet. This is generally a localarea network technology with some wide area network applications.Physical connections are typically made between nodes and/orinfrastructure devices (hubs, switches, routers) by various types ofcopper or fiber cable. IEEE 802.3 is a technology that supports the IEEE802.1 network architecture. As is well-known in the relevant art, IEEE802.11 is a working group and collection of standards for implementingwireless local area network (WLAN) computer communication in the 2.4,3.6 and 5 GHz frequency bands. The base version of the standard IEEE802.11, implemented in 2007, has had subsequent amendments. Thesestandards provide the basis for wireless network products using theWi-Fi® brand. Technical specifications of IEEE 802.1, 802.3, and 801.11are hereby incorporated by reference as if set forth fully herein.

In the example of FIG. 1, the digital device(s) 104 are intended torepresent digital devices configured to facilitate access to thecomputer-readable medium 102 for users. The digital device(s) 104 maycomprise a mobile phone, a tablet computing device, a laptop computer, adesktop computer, etc. In some implementations, the digital device(s)104 comprise circuitry configured to facilitate access to thecomputer-readable medium 102. Examples of circuitry that can be used tofacilitate access to the computer-readable medium 102 include: antennas,power circuitry, hardware, firmware, etc.

In the example of FIG. 1, the digital device(s) 104 include a wirelessnetwork access engine 110 that configures/instructs/incorporates thereinthe circuitry that is used to facilitate access to the computer-readablemedium 102. The wireless network access engine 110 and/or the circuitryused to facilitate access to the computer-readable medium 102 isintended to represent an engine configured to facilitate access to aspecific wireless operating mode of a plurality of wireless operatingmodes supported by the wireless access device 106. A “wireless operatingmode,” as used herein, may refer to a configuration of the wirelessaccess device 106 that is used to support transfer of data to/from thedigital device(s) 104 according to a specific wireless transferprotocol. In various implementations, a wireless network accesscondition of a digital device 104 is associated with a network accessconfiguration of the digital device 104. A “network accessconfiguration,” as used herein, may refer to a specific configuration ofa digital device 104 that supports a specific use and/or application ofdata from the computer-readable medium 102.

A network access configuration may include one or more configurations ofantennas (e.g., a single antenna, a specific Multiple Input MultipleOutput (MIMO) antenna array (3×3:3, 4×4:4, etc.), etc.) on the wirelessaccess device 106 that allows transfer of data to/from the digitaldevice(s) 104. A network access configuration may include a specificfrequency that the wireless access device 106 uses to transfer datato/from the digital device(s) 104. Examples of frequencies that may beused include a 2.4 Gigahertz (GHz) frequency (e.g., for an 801.11nconfiguration), and a 5 GHz frequency (e.g., for 801.11acconfigurations). In some implementations, a network access configurationis related to a specific 801.11ac configuration (e.g., a Wave1configuration, a Wave2 configuration, etc.).

In various implementations, the network access configuration mayoptimize delivery and/or streaming of video to the digital device(s)104. More particularly, the network access configuration may compriseconfigurations of antennas, wireless access parameters, ports, etc. on adigital device 104 that allows video to be streamed to multiples of thedigital device(s) 104. The network access configuration may optimizedesktop virtualizations represented on a digital device 104. A “desktopvirtualization,” as used herein, may comprise application used torepresent a user interface of a remote computer (e.g., a computercoupled to a digital device 104 over the computer-readable medium 102)on a digital device 104. Desktop virtualization may comprise virtualizedand/or streaming applications and/or other virtualized and/or streamingsoftware.

In some implementations, the wireless network access engine 110 and/orthe circuitry used to facilitate access to the computer-readable medium102 is configured to provide a wireless network usage condition. A“wireless network usage condition,” as used herein, may refer to anycondition that provides an indicator of the amount, format, types, etc.of data to be accessed by a digital device 104 over thecomputer-readable medium 102. Wireless network usage conditions may beassociated with power modes of a digital device 104. The power modes maycorrespond to the extent the circuitry used to facilitate access to thecomputer-readable medium 102 is configured to draw battery power toaccess the computer-readable medium 102 in order to access data. As anexample of association with power modes, a wireless network usagecondition may be associated with a lower-power configuration of adigital device 104 in which the digital device 104 is configured toaccess only a single antenna of the wireless access device 106. Asanother example, a wireless network usage condition may be associatedwith a higher-data throughput mode configuration of a digital device 104in which the digital device 104 is configured to access only a multipleantennas (e.g., a MIMO antenna array) of the wireless access device 106.It is noted that a wireless network usage condition may be associatedwith factors other than antenna arrays that affect the power of adigital device 104 when the digital device 104 is accessing thecomputer-readable medium 102.

In the example of FIG. 1, the wireless access device 106 is coupled tothe computer-readable medium 102. In some implementations, the wirelessaccess device 106 supports wireless access of digital device(s) 104 to aLAN/WAN/the Internet represented in part by the computer-readable medium102. To this end, the wireless access device 106 may support 801.11n,802.11ac, and/or other wireless connections to the digital device(s)104. The wireless access device 106 may be coupled to the wirelessaccess device controller 108 over a LAN/WAN/Internet connection. Thewireless access device 106 may be “controller-less;” e.g., controlengines that configure the wireless access device 106 may be locatedremotely from the wireless access device 106. In variousimplementations, the wireless access device 106 may receive instructionsto select, manage, etc. wireless operating modes from engines of thewireless access device controller 108 and/or other modules. As anexample, the wireless access device 106 may receive instructions over aLAN/WAN/Internet connection to select, manage, etc. wireless operatingmodes from the wireless mode management engine 112. The wireless accessdevice 106 may support one or more wireless operating modes. In someimplementations, the wireless access device 106 supports an 801.11nwireless operation mode, and/or one or more 801.11ac wireless operationmodes (e.g., Wave1 operation modes, Wave2 operation modes, etc.). It isexplicitly noted that the controller-less design is intended to beillustrative, and not intended to be limiting, and that the modules ofthe wireless access device controller 108 and/or the wireless modemanagement engine 112 may be located in the wireless access device 106and/or any other digital device discussed herein.

In the example of FIG. 1, the wireless access device controller 108 isintended to represent an engine that provides instructions over aWAN/LAN/Internet connection embodied in the computer-readable medium 102to control wireless operating modes of the wireless access device 106.The wireless access device controller 108 may be located remotely fromthe wireless access device 106 and/or may support cloud-control (e.g.,instructions over the Internet) of the wireless access device 106. Inthe example of FIG. 1, the wireless access device controller 108includes a wireless mode management engine 112. The wireless modemanagement engine 112 may be configured to facilitate selection and/ormanagement of wireless operating modes of the wireless access device106. The wireless mode management engine 112 may be configured toidentify wireless network usage conditions of digital device(s) 104. Thewireless mode management engine 112 may be configured to identity powermodes of the digital device(s) 104. In various implementations, thewireless mode management engine 112 is configured to select wirelessoperating modes based on the power modes. The wireless mode managementengine 112 may be configured to provide instructions (either directly orthrough the wireless access device 106) to configure digital device(s)104 to operate in accordance with a selected wireless operating mode.

The diagram 100 illustrates an intelligent network access modeconfiguration system that is intended to represent a system thatoperates to allow the digital device(s) 104 to access data from thewireless access device 106 in accordance with one or more wirelessoperating modes. In various implementations, the wireless network accessengine(s) 110 on digital device(s) 104 may provide information aboutwireless network usage conditions that represent power modes, and/or theamounts, types, etc. of data that the digital device(s) 104 may use overthe computer-readable medium 102. The information may be provided to thewireless access device 106 over a wireless connection supported by thewireless access device 106. The wireless access device 106 may providethe information about the network usage condition to the wireless accessdevice controller 108, which, in turn, may identify digital device(s)104 and identify power modes associated with the network usage conditionusing the wireless mode management engine 112. The wireless modemanagement engine 112 may operate to select a wireless operating mode.The wireless operating mode may represent antenna configurations and/orwireless radio frequencies supported by the wireless access device 106for a specific wireless network access configuration. The wireless modemanagement engine 112 may provide to the wireless access device 106instructions to configure digital device(s) 104 to operate in accordancewith wireless operating modes.

FIG. 2 is a diagram 200 showing an example of a wireless mode managementengine. The wireless mode management engine may, but need not,correspond to the wireless mode management engine 112 of FIG. 1. In theexample of FIG. 2, the diagram 200 includes a digital deviceidentification engine 202, a wireless network usage conditionidentification engine 204, a power mode identification engine 206, awireless network operating mode selection engine 208, a deviceconfiguration engine 210, a digital device datastore 212, a wirelessnetwork usage condition datastore 214, and a power mode datastore 216.One or more of the digital device identification engine 202, thewireless network usage condition identification engine 204, the powermode identification engine 206, the wireless network operating modeselection engine 208, the device configuration engine 210, the digitaldevice datastore 212, the wireless network usage condition datastore214, and the power mode datastore 216 may be coupled to one another orto modules not explicitly shown in FIG. 2.

In the example of FIG. 2, the digital device identification engine 202is intended to represent an engine configured to gather from the digitaldevice datastore 212 identifiers of one or more digital devices coupledto a wireless access device. The identifiers of digital devices may beindexed in any convenient format, including by Media Access Control(MAC) identifier, by associated Internet Protocol (IP) address, and byusername of associated users. In some implementations, the digitaldevice identification engine 202 gathers identifiers of digital devicesthat are either already receiving data from/providing data to a wirelessaccess device. In various implementations, the digital deviceidentification engine 202 gathers identifiers of digital devices thatare attempting to access a wireless access device. The digital deviceidentification engine 202 may provide identifiers of digital devices toother modules, such as the wireless network usage conditionidentification engine 204.

In the example of FIG. 2, the wireless network usage conditionidentification engine 204 is intended to represent an engine configuredto gather from the wireless network usage condition datastore 214 one ormore identifiers of wireless network usage conditions of digitaldevices. The wireless network usage conditions may provide one or moreindicators of data that digital devices seek to access over a wirelessaccess device. The wireless network usage conditions may, for instance,associated with one or more wireless network access configurations ofdigital devices. The wireless network access configurations may, butneed not, be associated with an IEEE antenna configuration. As anexample, the wireless network access configuration may be associatedwith an IEEE 802.11n MIMO antenna configuration. As another example, thewireless network access configuration may be associated with an IEEE802.11ac antenna configuration, including, but not limited to a Wave1antenna configuration or a Wave2 antenna configuration.

The wireless network access configuration may optimize delivery of videoto one or more digital devices. As an example, the wireless networkaccess configuration may optimize delivery of video to a set of digitaldevices that are seeking to stream a video at the same time (e.g., mayoptimize delivery of video to a set of tablet computing devices seekingto stream a classroom video at the same time). The wireless networkaccess configuration may optimize delivery of collaborative video overplatforms such as GoToMeeting, Webex, Facetime, etc., to entities, suchas businesses. The wireless network access configuration may account forthe fact that collaborative video applications may require real-timevideo, and possibly consume large amounts of bandwidth and/or appear tobe choppy in terms of bandwidth usage. In some implementations, thewireless network access configuration may account for collaborativevideo by adopting 40 MHz (instead of 20 MHz) channels, and by using 5GHz (instead of 2.4 GHz) frequencies. The wireless network accessconfiguration may account for the use of educational videos inclassrooms (e.g., may account for the situation where students ondigital devices are attempting to stream one video at the same time). Asan example of a K-12 environment with 30-40 tablet computing devices,the K-12 environment may be reduced to a 1×1 802.11n configuration. Evenif the wireless access device 106 in this scenario is a 2×2:2 or a 3×3:3wireless access device it may be hard to support stable streaming ofvideo at speeds greater than 1 Megabyte per second (Mbps)). To overcomethese and other limitations, digital device(s) 104 may need to beconfigured to be 2×2:2 or 3×3:3 802.11n clients or a 1×1:1 802.11acclient. Additional concerns, such as battery life, space andfuture-proofing concerns may drive the decision to choose a single802.11ac client. The wireless network access configuration mayaccommodate these and other concerns.

In some implementations, the wireless network access configuration mayoptimize desktop virtualizations on digital devices. The wirelessnetwork access configuration may, e.g., configure a set of digitaldevices so that they can access virtualization software at disparatetimes or at the same time. The wireless network usage conditionidentification engine 204 may be configured to provide wireless networkusage conditions to other modules, such as the power mode identificationengine 206. In various implementations, the wireless network accessconfiguration may optimize cloud applications executing on digitaldevices. More particularly, the wireless network access configurationmay maximize upload speeds to ensure cloud applications are optimized.In various implementations, the wireless network access configurationmay optimize high-demand regions of an Enterprise executing on digitaldevices.

In the example of FIG. 2, the power mode identification engine 206 isintended to represent an engine configured to gather from the power modedatastore 216 one or more identifiers of power modes of digital devices.In various implementations, the power modes may be associated withwireless network usage conditions of the digital devices. As an example,the power mode may be associated with a lower-power mode that allowsdigital devices to access, e.g., less antennas, or to access a networkat a lower data rate. As another example, the power mode may beassociated with a higher-power mode that allows digital devices toaccess, e.g., more antennas, or to access a network at a higher datarate. The power mode may, but need not, be related to network accessconfigurations, in that the power mode may be related to an 801.11nnetwork access configuration or an 802.11ac network accessconfiguration. The power mode identification engine 206 may beconfigured to provide power modes to other modules, such as the wirelessnetwork operating mode selection engine 208.

In the example of FIG. 2, the wireless network operating mode selectionengine 208 is intended to represent an engine configured to select awireless operating mode. The wireless operating mode may be one of aplurality of wireless operating modes. Each of the plurality of wirelessoperating modes may be associated with a specific antenna configurationand/or a plurality of wireless radio frequencies. As an example, eachwireless operating mode may be associated with a single antenna, a setof MIMO antennas, etc. As another example, each wireless operating modemay be associated with a 2.4 GHz operating frequency, a 5 GHz frequency,or some combination thereof that implements a particularly IEEE 802.11standard. The wireless network operating mode selection engine 208 maybe configured to provide a selected operating mode to other modules,such as the device configuration engine 210.

In the example of FIG. 2, the device configuration engine 210 isintended to represent an engine configured to provide instructions toconfigure an access device or a digital device to operate in accordancewith a selected wireless operating mode. In various implementations, thedevice configuration engine 210 includes and/or cooperates with anetwork interface to provide instructions over a WAN/Internet connectionto configure an access device or digital device to operate in accordancewith a selected wireless operating mode.

In some implementations, the digital device datastore 212 is intended torepresent a datastore configured to store identifiers of digital devicescoupled to a wireless access device. The identifiers of digital devicesmay be indexed in any convenient format, including by Media AccessControl (MAC) identifier, by associated Internet Protocol (IP) address,and by username of associated users. The wireless network usagecondition datastore 214 may be configured to store identifiers ofwireless network usage conditions of digital devices. In someimplementations, the identifiers of wireless network usage conditionsare based on user preferences, actual use of digital devices, and/orother factors. The power mode datastore 216 may be configured to storeidentifiers of power modes of digital devices. The power modes ofdigital devices may, but need not, be selected by developers of digitaldevices when developing/deploying digital devices for various purposes.Though the components 212, 214, and 216 are shown as “datastores,” inFIG. 2, it is noted in various implementations, the components 212, 214,and 216 may be implemented without storage.

In the example of FIG. 2, the diagram 200 illustrates a wireless modemanagement engine that operates to configure a wireless access device tooperate in accordance with one or more wireless operating modes. Thedigital device identification engine 202 may operate to gather from thedigital device datastore 212 identifiers of one or more digital devicescoupled (e.g., wirelessly coupled) to a wireless access device. Thedigital device identification engine 202 may operate to provideidentifiers of digital devices to the wireless network usage conditionidentification engine 204. The wireless network usage conditionidentification engine 204 may operate to gather from the wirelessnetwork usage condition datastore 214 identifiers of wireless networkusage conditions of digital devices. As noted herein, the wirelessnetwork usage condition may provide one or more indicators of data to beaccessed by the first digital device over the wireless access device.The power mode identification engine 206 may operate to gather from thepower mode datastore 216 identifiers of power mode(s) of digitaldevices. The power mode may, but need not, be associated with thewireless network usage condition of various digital devices. Thewireless network operating mode selection engine 208 may operate toselect one or more of a plurality of wireless operating modes. Invarious implementations, each of the plurality of wireless operatingmodes may be associated with and/or related to a specific antennaconfiguration of a wireless access device. Each of the plurality ofwireless operating modes may be related to a specific wireless radiofrequency of a wireless access device. In various implementations, thewireless network operating mode selection engine 208 bases itsselections on identified power modes of digital devices. The deviceconfiguration engine 210 may operate to provide instructions toconfigure wireless access devices to operate in accordance with aselected operating mode.

FIG. 3 is a flowchart 300 of an example of a method for intelligentlyconfiguring an access point to select a wireless operating mode of aplurality of wireless operating modes. The flowchart 300 is discussed inconjunction with the modules of the wireless mode management engine 200,shown in FIG. 2 and discussed further herein. It is noted the flowchart300 may have greater or fewer blocks than those explicitly shown. It isfurther noted the flowchart 300 may be enabled by structures other thanthe structures of the wireless mode management engine 200.

In the example of FIG. 3, the flowchart 300 starts at block 302 whereidentifiers of one or more digital devices coupled to a wireless accessdevice are gathered. The digital device identification engine 202 maygather from the digital device datastore 212 identifiers of one or moredigital devices that seek access to a wireless access device. Theidentifiers may identify the digital devices by MAC address, last knownIP address, last known username associated with the digital devices,etc. In some implementations, the identifiers correspond to identifiersof digital devices known to have used the wireless access device atprevious times. The digital device identification engine 202 may providedevice identifiers to other modules, such as the wireless network usagecondition identification engine 204.

The flowchart 300 continues to block 304 where an identifier of awireless network usage condition of a first digital device of the one ormore digital devices is gathered. In various implementations, thewireless network usage condition may provide an indicator of data to beaccessed by the first digital device over the wireless access device.The wireless network usage condition identification engine 204 maygather, from the wireless network usage condition datastore 214, one ormore identifiers of wireless network usage conditions. The wirelessnetwork usage conditions may, but need not, provide an indicator of datato be accessed by the first digital device over the wireless accessdevice. In some implementations, the wireless network usage conditionmay be associated with one or more network access configurations of thedigital device. The network access configurations may comprise an IEEE802.1n MIMO antenna configuration, an 802.11ac Wave1 antennaconfiguration, an 802.11ac Wave2 antenna configuration, etc. The networkaccess configuration may, but need not, optimize delivery of video tothe first digital device. In some implementations, the network accessconfiguration may optimize desktop virtualizations represented on thedigital device. In various implementations, the network accessconfiguration is associated with a specific high-demand region that ischaracterized by an increased demand for wireless data from the wirelessaccess point in comparison to a demand of a second digital device of theplurality of digital devices. The wireless network usage conditionidentification engine 204 may provide the wireless network usagecondition identifier to the power mode identification engine 206.

The flowchart 300 continues to block 306 where an identifier of a powermode for the first digital device is gathered. The power mode may beassociated with the wireless network usage condition of the firstdigital device. In some implementations, the power mode identificationengine 206 may gather from the power mode datastore 216 identifiers ofpower modes associated with the network usage condition. The power modesgathered may represent the extent the first digital device is configuredto use battery power to access various network resources. The power modeidentification engine 206 may provide the identifier of the power modeto the wireless network operating mode selection engine 208.

The flowchart 300 continues to block 308 where a first wirelessoperating mode of a plurality of wireless operating modes is selected.Each of the plurality of wireless operating modes may be related to aplurality of antenna configurations and a plurality of wireless radiofrequencies. The selecting of the first wireless operating mode may bebased on an identified power mode. The first wireless operating mode maybe associated with a first antenna configuration of the plurality ofantenna configurations. The first wireless operating mode may beassociated with a first wireless radio frequency of the plurality ofwireless radio frequencies. In various implementations, the wirelessnetwork operating mode selection engine 208 may select a first wirelessoperating mode of a plurality of wireless operating modes, where theplurality of wireless operating modes is related to a plurality ofantenna configurations and a plurality of wireless radio frequencies.The selection by the wireless network operating mode selection engine208 may be based on the identified power mode of the first digitaldevice. As noted herein, the first wireless operating mode may beassociated with a first antenna configuration of the plurality ofantenna configurations, and a first wireless radio frequency of theplurality of wireless radio frequencies for the data to be accessed bythe first digital device over the wireless access point

The flowchart 300 continues to block 310 where instructions to configurethe first digital device in accordance with the first wireless operatingmode are provided. More particularly, the device configuration engine210 may provide instructions to configure the first digital device inaccordance with the first wireless operating mode.

FIG. 4 is a diagram 400 showing an example of a wireless network accessengine. The wireless network access engine may, but need not, correspondto the wireless network access engine 110. In the example of FIG. 4, thediagram 400 includes a wireless network usage condition monitoringengine 402, a device configuration instruction engine 404, a networkaccess circuitry instruction engine 406, and network access circuitry408. One or more of the wireless network usage condition monitoringengine 402, the device configuration instruction engine 404, the networkaccess circuitry instruction engine 406, and the network accesscircuitry 408 may be coupled to one another or to modules not explicitlyshown in FIG. 4.

In the example of FIG. 4, the wireless network usage conditionmonitoring engine 402 is intended to represent an engine configured tomonitor wireless network usage, including factors such as wirelessnetwork usage conditions that provide indicators of data that are to beaccessed by a digital device. The wireless network usage conditions, invarious implementations, may be associated with power modes of a digitaldevice. The power modes may, but need not, correspond to the extent thenetwork access circuitry 408 (and/or other components of a digitaldevice) are configured to draw battery power to access data from anetwork. The power modes may comprise a lower-power mode thatfacilitates access to, e.g., a single antenna of a wireless accessdevice. The power modes may comprise, e.g., a higher-data throughputmode that facilitates access to multiple antennas of a wireless accessdevice. The wireless network usage condition monitoring engine 402 maybe configured to provide wireless network usage to other modules, suchas the device configuration instruction engine 404.

In the example of FIG. 4, the device configuration instruction engine404 is intended to represent an engine configured to provideinstructions to configure a digital device. The device configurationinstruction engine 404 may be configured to provide instructions toconfigure numbers, types, intensities, etc. of antennas, configureradios (e.g., radio operating frequencies), etc. of digital devices. Invarious implementations, the device configuration instruction engine 404configures a digital device to access an 802.11n network and/or radiosand relevant antenna arrays of an 802.11n network maintained by awireless access device. In some implementations, the deviceconfiguration instruction engine 404 configures a digital device toaccess an 802.11ac Wave1 network or an 802.11ac Wave1 network, and/orradios and relevant antenna arrays of an 802.11ac Wave1 network/802.11acWave2 network maintained by a wireless access device. The deviceconfiguration instruction engine 404 may provide configurationinstructions over any computer-readable medium, including but notlimited to hardware buses etc. on a digital device. The deviceconfiguration instruction engine 404 may be configured to provide deviceconfiguration instructions to various modules, such as the networkaccess circuitry instruction engine 406.

In the example of FIG. 4, the network access circuitry instructionengine 406 is intended to represent an engine configured to processdevice configuration instructions, and may translate the deviceconfiguration instructions into specific hardware-level routines thatinvolve the network access circuitry 408. In various implementations,the network access circuitry instruction engine 406 includes firmwareand/or device drivers that translate device configuration instructionsinto firmware/device-level instructions that the network accesscircuitry 408 can process. The network access circuitry instructionengine 406 may provide firmware/device-level instructions to variousmodules, such as the network access circuitry 408.

In the example of FIG. 4, the network access circuitry 408 is intendedto represent circuitry that is used to facilitate access to a wirelessnetwork. The network access circuitry 408 may include antennas, radios,power circuitry, and other circuitry used to access a wireless network.The network access circuitry 408 may process firmware/device-levelinstructions from the network access circuitry instruction engine 406and/or other modules of the wireless network access engine 400.

FIG. 5 is a flowchart 500 of an example of a method for instructingnetwork access circuitry on a digital device to access data. Theflowchart 500 is discussed in conjunction with the modules of thewireless network access engine 400 shown in FIG. 4 and discussed furtherherein. It is noted the flowchart 500 may have greater or fewer blocksthan those explicitly shown. It is further noted the flowchart 500 maybe enabled by structures other than the structures of the wirelessnetwork access engine 400.

In the example of FIG. 5, the flowchart 500 starts at block 502 where awireless network usage condition is provided from a first digitaldevice. In various implementations, the wireless network usage conditionmonitoring engine 402 may provide a wireless network usage condition tothe device configuration instruction engine 404. The wireless networkusage conditions may, but need not, provide an indicator of data to beaccessed by the first digital device over the wireless access device. Insome implementations, the wireless network usage condition may beassociated with one or more network access configurations of the digitaldevice. The network access configurations may comprise an IEEE 802.1nMIMO antenna configuration, an 802.11ac Wave1 antenna configuration, an802.11ac Wave2 antenna configuration, etc. The network accessconfiguration may, but need not, optimize delivery of video to the firstdigital device. In some implementations, the network accessconfiguration may optimize desktop virtualizations represented on thedigital device. In various implementations, the network accessconfiguration is associated with a specific high-demand region that ischaracterized by an increased demand for wireless data from the wirelessaccess point in comparison to a demand of a second digital device of theplurality of digital devices.

The flowchart 500 continues to block 504 where instructions to configurethe first digital device to access a wireless network in accordance witha first wireless operating mode are received at the first digitaldevice. The device configuration instruction engine 404 may provideinstructions to configure the first digital device to access a wirelessnetwork in accordance with the first wireless operating mode. In someimplementations, the device configuration instruction engine 404 mayprovide the network access circuitry instruction engine 406 with deviceconfiguration instructions. The network access circuitry instructionengine 406 may translate the device configuration instructions intofirmware/device-level instructions, that are in turn provided to thenetwork access circuitry 408.

The flowchart 500 continues to block 506 where network access circuitryon the first digital device is instructed to access the data over thewireless access point in accordance with the first wireless operatingmode. The network access circuitry 408 may receive appropriatefirmware/device-level instructions and may be configured accordingly.

FIG. 6 shows a diagram 600 of an example of a digital device. In theexample of FIG. 6, the digital device is intended to represent acomputer system that can be used as a client computer system, such as awireless client or a workstation, or a server computer system, whenappropriately configured. The diagram 600 includes a computer 602, I/Odevices 604, and a display device 606. The computer 602 includes aprocessor 608, a communications interface 610, memory 612, a displaycontroller 614, non-volatile storage 616, and an I/O controller 618. Inthe example of FIG. 6, the computer 602 is coupled to or includes theI/O devices 604 and the display device 606.

In an implementation, the computer 602 interfaces to external systemsthrough the communications interface 610, which can include a modem ornetwork interface. It will be appreciated that the communicationsinterface 610 can be considered to be part of the digital device 600 ora part of the computer 602. The communications interface 610 can be ananalog modem, ISDN modem, cable modem, token ring interface, satellitetransmission interface (e.g. “direct PC”), or other interfaces forcoupling a computer system to other computer systems, in variousimplementations.

In various implementations, the processor 608 can include any processor.In some implementations the processor 608 can include a microprocessor,such as an Intel Pentium® microprocessor or Motorola® power PCmicroprocessor. The memory 612 can be coupled to the processor 608 by abus 620. The memory 612 can be Dynamic Random Access Memory (DRAM) andcan also include Static RAM (SRAM). The bus 620 can couple the processor608 to the memory 612, also to the non-volatile storage 616, to thedisplay controller 614, and/or to the I/O controller 618.

In some implementations, the I/O devices 604 can include any devicesused to provide input to the digital device 600 or to facilitate outputsfrom the digital device 600. In various implementations, the I/O device604 can include one or more of: a keyboard, disk drives, printers, ascanner, and other input and output devices, including a mouse or otherpointing device. The display controller 614 can control a display on thedisplay device 606, which can be, for example, a cathode ray tube (CRT)or liquid crystal display (LCD). The display controller 614 and the I/Ocontroller 618 can be implemented with conventional well knowntechnology.

In a specific implementation, the non-volatile storage 616 can includeany form of non-volatile storage. In some implementations, thenon-volatile storage 616 can include one or more of: magnetic hard disk,an optical disk, or another form of storage for large amounts of data.Some of this data is often written, by a direct memory access process,into memory 612 during execution of software in the computer 602. It isnoted that the terms “machine-readable medium” or “computer-readablemedium,” as used in this paper, can include any type of storage devicethat is accessible by the processor 608 and also encompasses a carrierwave that encodes a data signal.

In the example of FIG. 6, the digital device 600 is one example of manypossible computer systems which have different architectures. Forexample, personal computers based on an Intel® processor and/ormicroprocessor can have multiple buses, one of which can be an I/O busfor the peripherals and one that directly connects the processor 608 andthe memory 612 (often referred to as a memory bus). The buses areconnected together through bridge components that perform any necessarytranslation due to differing bus protocols.

Network computers are another type of computer system that can be usedin conjunction with the teachings provided herein. Network computers donot usually include a hard disk or other mass storage, and theexecutable programs are loaded from a network connection into the memory612 for execution by the processor 608. A Web TV system, which is knownin the art, is also considered to be a computer system, but it can lacksome of the features shown in FIG. 6, such as certain input or outputdevices. A typical computer system will usually include at least aprocessor, memory, and a bus coupling the memory to the processor.

FIG. 7 shows examples of a plurality of network access devices 700. Inthe example of FIG. 7, the network access devices 700 can include anaccess point 702, a router 704, and a switch 706. One or more of theaccess point 702, the router 704, and the switch 706 can contain atleast portions of the systems and modules described herein. Morespecifically, in various implementations, one or more of the accesspoint 702, the router 704, and the switch 706 may correspond to thewireless access device 106, shown in FIG. 1. In some implementations,one or more of the access point 702, the router 704, and the switch 706can include a wireless mode management engine, described in greaterdetail herein.

This paper describes techniques that those of skill in the art canimplement in numerous ways. For instance, those of skill in the art canimplement the techniques described in this paper using a process, anapparatus, a system, a composition of matter, a computer program productembodied on a computer-readable storage medium, and/or a processor, suchas a processor configured to execute instructions stored on and/orprovided by a memory coupled to the processor. Unless stated otherwise,a component such as a processor or a memory described as beingconfigured to perform a task may be implemented as a general componentthat is configured to perform the task at a given time or a specificcomponent that is manufactured to perform the task. As used in thispaper, the term ‘processor’ refers to one or more devices, circuits,and/or processing cores configured to process data, such as computerprogram instructions.

A detailed description of one or more implementations of the inventionis provided in this paper along with accompanying figures thatillustrate the principles of the invention. The invention is describedin connection with such implementations, but the invention is notlimited to any implementation. The scope of the invention is limitedonly by the claims and the invention encompasses numerous alternatives,modifications and equivalents. Numerous specific details are set forthin the following description in order to provide a thoroughunderstanding of the invention. These details are provided for thepurpose of example and the invention may be practiced according to theclaims without some or all of these specific details. For the purpose ofclarity, technical material that is known in the technical fieldsrelated to the invention has not been described in detail so that theinvention is not unnecessarily obscured.

Some portions of the detailed description are presented in terms ofalgorithms and symbolic representations of operations on data bitswithin a computer memory. These algorithmic descriptions andrepresentations are the means used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of operations leading to adesired result. The operations are those requiring physicalmanipulations of physical quantities. Usually, though not necessarily,these quantities take the form of electrical or magnetic signals capableof being stored, transferred, combined, compared, and otherwisemanipulated. It has proven convenient at times, principally for reasonsof common usage, to refer to these signals as bits, values, elements,symbols, characters, terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the following discussion,it is appreciated that throughout the description, discussions utilizingterms such as “processing” or “computing” or “calculating” or“determining” or “displaying” or the like, refer to the action andprocesses of a computer system, or similar electronic computing device,that manipulates and transforms data represented as physical(electronic) quantities within the computer system's registers andmemories into other data similarly represented as physical quantitieswithin the computer system memories or registers or other suchinformation storage, transmission or display devices.

Techniques described in this paper relate to apparatus for performingthe operations. The apparatus can be specially constructed for therequired purposes, or it can comprise a general purpose computerselectively activated or reconfigured by a computer program stored inthe computer. Such a computer program may be stored in acomputer-readable storage medium, such as, but is not limited to,read-only memories (ROMs), random access memories (RAMs), EPROMs,EEPROMs, magnetic or optical cards, any type of disk including floppydisks, optical disks, CD-ROMs, and magnetic-optical disks, or any typeof media suitable for storing electronic instructions, and each coupledto a computer system bus.

As disclosed in this paper, implementations allow editors to createprofessional productions using themes and based on a wide variety ofamateur and professional content gathered from numerous sources.Although the foregoing implementations have been described in somedetail for purposes of clarity of understanding, implementations are notnecessarily limited to the details provided.

What is claimed is:
 1. A method comprising: gathering identifiers of oneor more digital devices coupled to a wireless access device; gatheringan identifier of a wireless network usage condition of a first digitaldevice of the one or more digital devices, the wireless network usagecondition providing an indicator of data to be accessed by the firstdigital device over the wireless access device; gathering an identifierof a power mode for the first digital device, the power mode beingassociated with the wireless network usage condition of the firstdigital device; selecting a first wireless operating mode of a pluralityof wireless operating modes, the plurality of wireless operating modesbeing related to a plurality of antenna configurations and a pluralityof wireless radio frequencies, the selecting of the first wirelessoperating mode being based on the identified power mode of the firstdigital device, the first wireless operating mode being associated witha first antenna configuration of the plurality of antennaconfigurations, and a first wireless radio frequency of the plurality ofwireless radio frequencies for the data to be accessed by the firstdigital device over the wireless access device; providing instructionsto configure the wireless access device to allow the first digitaldevice in accordance with the first wireless operating mode.